Nowadays, packet based communication technology is widely used for streaming multimedia applications such as streaming video, streaming audio etc. In addition, transmission of multimedia applications over wireless networks is fast gaining popularity. Using various devices which are enabled for accessing the wireless networks, multimedia applications may be transmitted and received wirelessly. Examples of such devices include, but are not limited to, wireless enabled laptops, Personal Computers (PC's), Wireless Fidelity (WiFi) enabled handsets, Worldwide Interoperability for Microwave Access (WiMax) enabled handsets etc. Playout of high quality multimedia applications with minimal interruptions is of vital necessity to users of these mobile devices. Typically, interruptions are caused by delay in receiving the multimedia data packets by the mobile devices due to various unfavorable network conditions and mobile device conditions. To avoid such delays and in turn interruptions during playout, the multimedia applications in these devices buffer the received multimedia data packets artificially for a predetermined period of time before playing out the multimedia applications.
Conventionally, the multimedia applications determine the buffering time period based on past history of multimedia data packet delays in a particular wireless network. However, the wireless networks on which the packets are delivered to the devices are subjected to changing network conditions due to varying traffic in the network. Such changing network conditions contribute to delay time of multimedia packets and in turn the buffering time of multimedia packets. Therefore, past history information of packet delays may not aid in estimating the required buffering time of the multimedia applications efficiently. Further, in addition to changing wireless network conditions one or more factors specific to wireless networks exist that contribute to delay variation. These factors may depend on including, but not limited to, movement of the mobile devices from one coverage area to another coverage area transmission path of data packets in the coverage areas etc. The multimedia applications may not take into account such one or more factors that are specific to the wireless networks for estimating buffering time. Further, one or more mobile device conditions may exist during which the mobile devices are not in active mode to receive data packets. Such mobile device conditions may also cause interruptions when data packets are received and this may further contribute to the delay in packets. Existing multimedia applications do not take into account such device conditions while estimating buffering time of packets. Such delay variation induced by network and device conditions may lead to very high buffering time which may affect Quality of Service (QoS) of the multimedia applications. Therefore, user experienced quality of multimedia applications using internet protocol network may be impaired. In addition, QoS of a wireless network is not predetermined before streaming multimedia data packets to a mobile device.
In light of the above, there is a need for a system and method which facilitates selecting a wireless network based on QoS information and estimating buffering time of multimedia applications by adaptively monitoring varying network conditions of the selected wireless network. There is also a need for a system and method which facilitates estimating buffering time of multimedia applications by monitoring mobile device conditions. Also, there is a need for a system and method that records information related to VoIP calls placed over the wireless networks and using recorded information to select a wireless network for streaming multimedia applications to mobile device. Further, there is a need for a system and method that buffers packets received by multimedia applications in mobile devices over the selected wireless network before playout by using specific wireless network and device information. In addition, there is a need of a system and method that facilitates to estimate buffering time of multimedia data packets efficiently and result in an enhanced QoS of multimedia applications.